日志传输路径如下:
filebeat->redis->logstash->es
在filebeat配置文件中,收集日志的时候配置的有如下参数:
1 | fields: |
表示的是会把log_source作为fields的二级字段
若是配置如下,表示的是会把log_source作为顶级字段:
1 | fields: |
使用这个字段来作为区分不同应用日志的来源;
在logstash中从redis读取后,output给es的时候,根据上述不同的字段来创建不同的应用日志索引。
常见的写法是多使用if条件进行区分,如下所示:
1 | if [fields][log_source] == 'test_custom' { |
这样写也能使用,但是考虑到假设这个区分字段比较多的话,那这得写多少个if条件呀,所以可以使用如下的用法:
在创建索引的时候使用上这个区分用的字段,具体如下:
1 | elasticsearch { |
说明:%{[fields][log_source]}
表示的是获取区分字段的值
若是顶级字段则是这样的用法:%{[log_source]}